﻿using System;
using DanielVaughan.Logging;

namespace SilverlightDatabase.Core
{
    public interface IDatabase
    {
        int GrowthSize { get; set; }
        void CreateTable<T>();
        string DatabaseName { get; }
        bool DoesTableExists(Type rowType);
        void Save();
        Table<T> Table<T>();
        System.Collections.ObjectModel.ReadOnlyCollection<SilverlightDatabase.Core.ITable> Tables { get; }
        bool UseCompression { get; }
        ILog Log { get; }
        void WriteDatabaseToStream(System.IO.Stream stream);
    }
}
